home *** CD-ROM | disk | FTP | other *** search
/ Hyper Animation Series: Viper (Limited Edition) / Hyper Animation Series: VIPER (Limited Edition).iso / pc / SYSTEM / class / BOSS1BodyAttack2.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-04  |  3.2 KB  |  97 lines

  1. class BOSS1BodyAttack2 extends EnemyAction {
  2.    private int fxTime = 0;
  3.    private boolean[] fShot = new boolean[4];
  4.  
  5.    public BOSS1BodyAttack2(StgFrame var1) {
  6.       super(var1);
  7.       this.fShot[0] = false;
  8.       this.fShot[1] = false;
  9.       this.fShot[2] = false;
  10.       this.fShot[3] = false;
  11.    }
  12.  
  13.    public boolean action(EnemyIndex var1) {
  14.       int var2 = super.resource.getEnemySpeed();
  15.       super.resource.getEnemy();
  16.       BOSS1Index var3 = (BOSS1Index)var1;
  17.       var3.getLegIndex();
  18.       var3.getDefectIndex();
  19.       if (this.fxTime >= 0 && !this.fShot[0]) {
  20.          this.putShot(var1);
  21.          this.fShot[0] = true;
  22.       }
  23.  
  24.       if (this.fxTime >= 1048576 && !this.fShot[1]) {
  25.          this.putShot(var1);
  26.          this.fShot[1] = true;
  27.       }
  28.  
  29.       if (this.fxTime >= 2097152 && !this.fShot[2]) {
  30.          this.putShot(var1);
  31.          this.fShot[2] = true;
  32.       }
  33.  
  34.       if (this.fxTime >= 3145728 && !this.fShot[3]) {
  35.          this.putShot(var1);
  36.          this.fShot[3] = true;
  37.       }
  38.  
  39.       if (this.fxTime >= 4194304) {
  40.          var1.setEnemyAction(new BOSS1BodyNomal(super.resource));
  41.       }
  42.  
  43.       this.fxTime += var2;
  44.       this.destroy(var1);
  45.       return true;
  46.    }
  47.  
  48.    private boolean putShot(EnemyIndex var1) {
  49.       Enemy var2 = super.resource.getEnemy();
  50.       Position var3 = ((StgObjectIndex)var1).getPosition();
  51.       int var7 = 16384;
  52.       int var5 = var3.getX() + 4194304;
  53.       int var6 = var3.getY() + 2097152;
  54.  
  55.       for(int var8 = 0; var8 != 8; ++var8) {
  56.          ES11Index var4 = new ES11Index(new Position(var5, var6, 0), StgData.getSpriteAnimeES01Nomal(), new Position(262144, 262144, 0), 0, new ES11Nomal(super.resource), 0, 65536, 0, 1, (short)var7, 196608 + (Fixed.Random() << 1) + Fixed.Random());
  57.          ((StgObject)var2).add(var4);
  58.          var7 += 1536;
  59.       }
  60.  
  61.       return true;
  62.    }
  63.  
  64.    public boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2) {
  65.       super.resource.getEnemy();
  66.       return ((StgObjectIndex)var1).checkHit(var2);
  67.    }
  68.  
  69.    public boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2) {
  70.       boolean var3 = false;
  71.       super.resource.getEnemy();
  72.       if (((StgObjectIndex)var1).checkHit(var2)) {
  73.          var3 = true;
  74.       }
  75.  
  76.       return var3;
  77.    }
  78.  
  79.    public boolean checkHitBom(EnemyIndex var1) {
  80.       return false;
  81.    }
  82.  
  83.    private boolean destroy(EnemyIndex var1) {
  84.       Enemy var2 = super.resource.getEnemy();
  85.       ((StgObjectIndex)var1).getSpriteAnimeIndex();
  86.       boolean var3 = false;
  87.       Status var4 = super.resource.getStatus();
  88.       if (var1.getHitPoint() == 0) {
  89.          var4.add(var1.getScore());
  90.          ((StgObject)var2).delete(var1);
  91.          var3 = true;
  92.       }
  93.  
  94.       return var3;
  95.    }
  96. }
  97.